package com.wnx.job.modules.jms.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.wnx.job.modules.jms.model.JmsPost;
import com.wnx.job.modules.pms.model.PmsAdvantage;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;


/**
 * @author wangnaixing
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CompanyParam implements Serializable {

    /**
     * 自增主键
     */
    @ApiModelProperty(value = "ID")
    private Long id;


    /**
     * 名称
     */
    @ApiModelProperty(value = "名称")
    @NotBlank(message = "公司名称不能为空！！")
    @Length(max = 18,message = "公司长度最长为18位")
    private String name;

    /**
     * 账号
     */
    @ApiModelProperty(value = "账号")
    private String account;


    /**
     * 联系人
     */
    @ApiModelProperty(value = "联系人")
    @NotBlank(message = "公司负责人姓名不能为空！！")
    private String contact;

    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话")
    @NotBlank(message = "公司电话号码不能为空！！")
    @Length(min = 11,max = 11)
    private String telephone;

    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱")
    @Email(message = "公司邮箱格式错误！")
    @NotBlank(message = "公司邮箱不能为空！")
    private String email;

    /**
     * 地址
     */
    @ApiModelProperty(value = "地址")
    @NotBlank(message = "公司地址不能为空！")
    private String addr;

    /**
     * 网址
     */
    @ApiModelProperty(value = "网址")
    @NotBlank(message = "公司网址不能为空！")
    private String url;

    /**
     * 规模
     */
    @ApiModelProperty(value = "规模")
    @NotBlank(message = "公司规模不能为空！")
    private String size;

    /**
     * 类型
     */
    @ApiModelProperty(value = "类型")
    @NotBlank(message = "公司类型不能为空！")
    private String type;

    /**
     * logo
     */
    @ApiModelProperty(value = "logo")
    @NotBlank(message = "公司logo不能为空！")
    private String logo;

    /**
     * 企业介绍
     */
    @ApiModelProperty(value = "企业介绍")
    @NotBlank(message = "公司简介不能为空！")
    private String description;

    @NotBlank(message = "公司注册资金不能为空")
    @ApiModelProperty(value = "注册资金")
    private String registerMoney;


    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date created;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "修改时间")
    private Date updated;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态0待审核1审核通过2审核不通过")
    @NotNull(message = "状态值不能为空！")
    private Integer status;
    /**
     * 邮件状态
     */
    private Integer emailStatus;
    //=============附件属性===============//

    /**
     * 该公司对应的职位信息
     */
    private List<JmsPost> postList;

    /**
     * 该公司对应优势集合
     */
    private List<PmsAdvantage> advantageList;


    //=============附件属性===============//



}
